package cn.ikun.xk.ojbk;

import java.lang.reflect.Method;

public class Baga {
    public static void main(String[] args) throws Exception{
        //String s = RandomStringUtils.randomAlphabetic(6);
        //System.out.println(s);

        //创建User实例
        User u = new User();//左边User是类名，右边是构造器名字
        u.setName("sbwy");
        System.out.println(u.getName());

        //创建age实例
        u.setAge(19);
        System.out.println(u.getAge());

        //通过类的完整限定名（ = 类的包名 + 类名）来加载某个对象
        Class<?> uu = Class.forName("cn.ikun.xk.ojbk.User");
        //通过类对象得到User类的实例
        Object o = uu.newInstance();
        Method setName = uu.getMethod("setName", String.class);
        //使用o调用setName方法并为o的name属性赋值
        setName.invoke(o, "Jenkins");

        Method getName = uu.getMethod("getName");
        Object result = getName.invoke(o);
        System.out.println(result);
        Method setAge = uu.getMethod("setAge", Integer.class);
        setAge.invoke(o,19);
        Method getAge = uu.getMethod("getAge");
        Object result2 = getAge.invoke(o);
        System.out.println(result2);

    }
}
